0ےےےے?y‹t‚à¬پàYt@ًےًےًےًے lxnہهےâے‰قC€«ہ!÷lxnہسى‚Mah™ƒظ	پ€3S€mNدëز‚گ‍شا‘gu«„
ا~
w#l€àےے¬پà‰ق¤ü%“‡"–ٹN^' Nà””à•àN ^،`«x ¬=«x¼€àن€à
Z<îD”à¤uàpگà„گà6nق)ک•àفط;خس#œ‘àD”àââœ‘àD”àââ6ؤ
_$‘àک•àهè$‘àک•àهè3¼b¼~nüBîàEےط‚|àœ‘àهê7ؤوî6ہ0”àےےےےےےےےےےےے^+&B9™1½=قIےUeeeORCA/C       Help Sheet             by               Dave Lefflerب’à$‘àدXدق4 Dˆ‚à|àXˆ‚à|àXق4 Djh¸‰àب’à`X`ق4 Dè†àˆ‚à{Xè†àˆ‚à{X{ق4 Dü†à¸‰àکXü†à¸‰àکXکق4 D¬†àè†à²Z¬†àè†à²Z²à4 D"2(’àü†àGXGق4 Dh‰à¬†à+Xh‰à¬†à+X+ق4 Dإ€کگà(’àXق4 D	آش†àh‰à¾X¾ق4 DL„†àکگàkXkق4 D,‰àش†à”X,‰àش†à”X”ق4 DL€‘à„†à5X5ق4 DJ´’à,‰à›X›ق4 Dphà°°x’à
_d}’à‘ài„¦j"ƒ¢(ˆàےےےے'ےےےےط‘à´’à
>
f'*^P’à’àخfP’à’àخfخ$' ^°‘àط‘àyf°‘àط‘àyfy$
+tf>X!:ؤ‘àP’àآ>آ4 D>€ى‘à°‘àJ>J4 Dژ	8‘àؤ‘àô>ô4 D^*L‘àى‘à««@4 Dphà°°‘àX^
 èگà8‘à6ˆ5ˆ4گàL‘à6$4گàL‘à6$5$ـˆàèگà7¼ـˆàèگà7¼5¼phà°°8‘à“¸
£‏ڈà4گà7f5f>X!:\گàـˆà66B:\lX@Pˆàڈà6X;قشvقFxHگà\گà6x;xv‏V¨phà°°4گàz‏j~‏jlڈàPˆà6œ;œv‏V¨A@üگàHگàTZTà4 Dphà°°Pˆà{,„àlڈàWXWق4 DüگàHگàTZ€ڈàüگàU@U 4 D

°‚à,„àXX@4 D

ى}à€ڈà6X:ق7\9ع<~àےےےےےےےےےےےے8''4LBچP´^¼kشyë‡•£7±a؟چح،غؤéى÷ô2 F.N;qI‰W‘d·rر€ظچï› ©:·`إhزŒà¤î¬ûز	ع$1-?5L\Zdgٹu’‚¹گء‌تھع·إز-كىF&¤¸EF&¤¸4F&¤¸666orOperator	Description	Associativity555()	Function Call[]	Array element referenceے->	Pointer to structure member reference	Left to right.	structure member referencer-	Unary minusa+	Unary plus(++	Increment-- 	Decrementr!	Logical negationr~	Ones complement	Right to leftے*	Pointer reference (indirection)&	Addresspsizeof	Size of an object((type)	Type cast (conversion)le*	Multiplicatione/	Division	Left to rightf%	Modulusc+	Addition	Left to right-	SubtractionU<<	Left shift	Left to right>>	Right shift	rg<	Less than~<=	Less than or equal to	Left to rightے>	Greater than	>=	Greater than or equal toy==	Equality	Left to right[!=	Inequalityr&	Bitwise AND	Left to right c^	Bitwise XOR	Left to right r|	Bitwise OR	Left to righti&&	Logical AND	Left to righte||	Logical OR	Left to rightlo?:	Conditional	Right to left =	*= /= %=c+= -= &=	Assignment operators	Right to  lefti^= |=e<<= >>=e---p,	Comma operator	Right to Left¤uà°‚à\jB]"i>(ˆàےےےے”6 %ˆ2گ>KW'%~-ٹث£س¯3aâiîُ‎‍%¦1>!J`V»bأn3z;†س“غںں·§أ	د	غ$ےEV
¸¸¸EP
¸¸¸	E:
¸¸¸گگگصStep 1: If either operand is of type extended, the other is converted to extended, and that is the type of the result.Z
Z
Z
ِ:Step 2: If either operand is of type double, the other is converted to double, and that is the result.گ:Step 3: If either operand if of type float, the other is converted to float, and that is the type of the result.:Step 4: If either operand is of type char, short int, int bit field, or of an enumerated data type, it is converted to int, if an int can fully represent its range of values; otherwise it is converted to unsigned int.:Step 5: If either operand is of type unsigned long int, the other is converted to unsigned long int, and that is the type of the result.:Step 6: If one operand is of type long int and the other is of type unsigned int, the unsigned int is converted to long int if a long int can represent all values of an unsigned int.  If a long int cannot represent all values of an unsigned int, both operands are converted to an unsigned long int, and that is the type of the result.:Step 7: If either operand is of type long int, the other is converted to long int, and that is the type of the result.:Step 8: If either operand is of type unsigned int, the other operand is converted to type unsigned int, and that is the type of the result.:Step 9: If this step is reached, both operands are of type int, and that is the type of the result.hoStep 4 is know more formally as integral promotion.ORCA/C conerts all expressions involving a floating point operand to type extended.hConversion of operands is well behaved in most situation, although the following points should be noted:e1.  Conversion of a char to an int may involve sign extension on some machines, unless the char is declared as unsigned.anv2.  Conversion of a signed integer to a longer integer results in extension of the sign to the left; conversion of an unsigned integer to a longer integer results in zero fill to the left.dnv3.  Conversion of a longer integer to a shorter one results in truncation of the integer on the left. nv4.  Conversion of a floating point value to an integer results in truncation of the decimal portion of the value.  If the integer is not large enough to contain the converted floating point value, the result is not defined, as is the result of converting a negative floating point value to an unsigned integer.———nv5.  Conversion of a double to a float may or may not result in rounding the double before the  truncation occurs.ى}à65B7"4>œ‚àےےےےےےےےےےےے_)HP$£1و=IBU†a–m‍yٌ†2’^ں•«ح·صأذnـ‌èآôف‎T%™1½=قIےU$aEmiy‘…™‘ë‌3©nµ¢ءجحشظو)EJ¤
p???ےIf the storage 	And Variable	Then it can	And can be###class is	is declared	be referenced	initialized with	Commentsstatic	Outside a	Anywhere within	Constant	Variables are initialized only3	function	the file	expressions	once at the start of program			only	execution; values aren	Inside a	Within the		retained through functionr	function/block	function/block		calls; default initial valueA				is 0C	extern	Outside a 	Anywhere within	Constant 	Variable must be declared inے	function	the file	expressions	at least one place without			only	the extern keyword or n	Inside a	Within the		in exactly one place withi	function/block	function/block		an initial valuedwauto	Inside a 	Within the	Any valid 	Variable is initializedr	function/block	function/block	expression; arrays,	each time the function/			stucts & unions	block is entered; no			to constant 	default values			expressions only			 if{...} list is usedssregister	Inside a	Within the	Any valid 	Assignment to a register notً	function/block	function/block	expression	guaranteed; varying				restrictions on types ofe				variables that can be 				declared; cannot taket				the address of a register				variable; initializedh				each time function/blocke				is entered; no default valuescomitted	Outside a	Anywhere within 	Constant 	This declaration can appeari	function	the file or by	expressions	in only one place; variablec		other files that	only	is initialized at the start		contain appropriate		of program execution;V		declarations		default value is 0if	Inside a	(See auto)	(See auto)	Defaults to autow	function/block5:f$BX
w